#pragma once

#include <stdint.h>

typedef struct {
  uint8_t _0 : 1;
  uint8_t _1 : 1;
  uint8_t _2 : 1;
  uint8_t _3 : 1;
  uint8_t _4 : 1;
  uint8_t _5 : 1;
  uint8_t _6 : 1;
  uint8_t _7 : 1;
} _8bit;

typedef union {
  uint8_t data;
  _8bit   bit;
} uint8_bit;

typedef union {
  uint8_bit byte[8];
  uint16_t  word_16;
  uint32_t  word_32;
  uint64_t  word_64;
} typ_iow;